home *** CD-ROM | disk | FTP | other *** search
/ Aminet 4 / Aminet 4 - November 1994.iso / aminet / dev / gui / guienv372.lha / GUIEnvironment / M2Amiga / Examples / RequesterExample.mod < prev    next >
Encoding:
Text File  |  1994-09-14  |  3.0 KB  |  88 lines

  1. (****************************************************************************
  2.  
  3. $RCSfile: RequesterExample.mod $
  4.  
  5. $Revision: 1.3 $
  6.     $Date: 1994/09/14 17:41:39 $
  7.  
  8.     GUIEnvironment example: Requester
  9.  
  10.     M2Amiga Modula-2 Compiler V4.3
  11.  
  12.   Copyright © 1994, Carsten Ziegeler
  13.                     Augustin-Wibbelt-Str.7, 33106 Paderborn, Germany
  14.  
  15. ****************************************************************************)
  16. MODULE RequesterExample;
  17.  
  18. (* This example shows all available requesters on the public screen.
  19.    The requesters are not redirected ! The windowPtr field of the
  20.    process structure is used ! (Usually this is NIL) *)
  21.  
  22.   FROM SYSTEM    IMPORT ADR, ADDRESS, TAG;
  23. IMPORT D : GUIEnvD,
  24.        L : GUIEnvL;
  25.  
  26. CONST version = ADR("$VER: RequesterExample 1.3 (14.09.94)\n");
  27.  
  28. VAR choose : LONGINT;
  29.     file, dir : ARRAY[0..255] OF CHAR;
  30.     tagbuf : ARRAY[0..19] OF LONGCARD;
  31.     args : ARRAY[0..4] OF ADDRESS; (* for the arguments *)
  32.  
  33. BEGIN
  34.  
  35.   (* Return value not needed, ok requester *)
  36.   IGNORE L.GUIRequestA(NIL, ADR("This is the requester demo !\nEnjoy it !"),
  37.                     D.gerOKKind, NIL);
  38.  
  39.   (* doitReqKind *)
  40.   WHILE L.GUIRequestA(NIL, ADR("Do you want to see this requester again ?"),
  41.                    D.gerDoItKind, NIL) = D.gerYes DO
  42.   END;
  43.  
  44.   (* Yes/no/cancel  requester *)
  45.   choose := L.GUIRequestA(NIL, ADR("Do you want to see some asl requesters ?"),
  46.                        D.gerYNCKind, NIL);
  47.   IF    choose = D.gerYes THEN
  48.  
  49.     (* And now the asl requesters supported by GUIEnvironment *)
  50.  
  51.     file := "guienv.library";
  52.     dir  := "sys:libs";
  53.  
  54.     (* First a requester to choose the best library ! *)
  55.     IF L.GUIRequestA(NIL, ADR("Choose the best library"), D.gerFileKind,
  56.                   TAG(tagbuf, D.gerPattern, ADR("#?.library"),
  57.                               D.gerFileBuffer, ADR(file),
  58.                               D.gerDirBuffer, ADR(dir), NIL)) = D.gerYes THEN
  59.       args[0] := ADR(dir);
  60.       args[1] := ADR(file);
  61.       IGNORE L.GUIRequestA(NIL, ADR("You choice was:\ndir : %s\nfile: %s"),
  62.                         D.gerOKKind, TAG(tagbuf, D.gerArgs, ADR(args), NIL));
  63.     ELSE
  64.       IGNORE L.GUIRequestA(NIL, ADR("You cancelled it ! (Sniff..)"),
  65.                         D.gerOKKind, NIL);
  66.     END;
  67.  
  68.     (* And now a save dir requester with no pattern gadget *)
  69.     dir := "ram:t";
  70.     IF L.GUIRequestA(NIL, ADR("Choose directory to save something..."),
  71.                   D.gerDirKind, TAG(tagbuf, D.gerNameBuffer, ADR(dir),
  72.                                             D.gerPattern, NIL,
  73.                                             D.gerSave, TRUE, NIL)) = D.gerYes THEN
  74.  
  75.       args[0] := ADR(dir);
  76.       IGNORE L.GUIRequestA(NIL, ADR("You selected directory:\n%s"),
  77.                         D.gerOKKind, TAG(tagbuf, D.gerArgs, ADR(args), NIL));
  78.     ELSE
  79.       IGNORE L.GUIRequestA(NIL, ADR("You cancelled it ! (Snuff..)"),
  80.                         D.gerOKKind, NIL);
  81.     END;
  82.  
  83.   ELSIF choose = D.gerNo  THEN
  84.     IGNORE L.GUIRequestA(NIL, ADR("Click OK to quit !"), D.gerOKKind, NIL);
  85.   END;
  86.  
  87. END RequesterExample.
  88.